1. Field of the invention
The invention concerns a method of scheduling distributed transactions for a transactional monitor.
2. Description of the prior art
A distributed transaction is a partially ordered set of operations to be executed remotely and distributed between a number of processes. These operations can be instantiated methods in objects potentially replicated in more than one process.
A transactional monitor serializes the activation (or invocation) of the operations of the transactions in conformance with the chronological order in which the transactions are initiated.
At the level of the monitor, each transaction is initiated on the reception of an event. During the execution of a transaction the termination of a given operation leads to the reception of an event enabling activation of a subsequent operation of the transaction.
In industrial control/command applications there is a need to maintain a coherent image of the monitored process so that its behavior can be controlled. Data reflecting the image of the process is managed by means of an application and interaction between the application and the process is assured by events sent and received by sensors distributed across the process. The process being of a distributed nature, the application uses distributed transactions to maintain a coherent image of the process in a database. These industrial control/command applications run in flexible real time and it is therefore important to initiate several transactions in parallel, but this possibility of parallel initiation of transactions causes a problem at the level of operation activation scheduling. The transactions include identical or analogous operations, known as conflicting operations, since they cannot be executed at the same time because they interact with the same data.
The aim of the invention is to propose a method of scheduling distributed transactions for a transactional monitor with the possibility of parallel initiation of transactions in order to serialize activation of the operations of the transactions in accordance with the chronological order in which the transactions are initiated and allowing for conflicts of execution between operations of different transactions or of the same transaction.
Another aim of the invention is to propose a scheduling method of this kind that is suitable for complex transactions including recovery sequences if necessary.